home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1985 June / Ahoy_Magazine_85-06_1985_Double_L.d64 / rupert 1 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  1KB  |  41 lines

  1. 0 rem << rr18-1 >>
  2. 1 rem
  3. 2 rem     rupert report #18
  4. 3 rem     listing
  5. 4 rem     bit map graphics
  6. 5 rem
  7. 10 def fnsb(n)=peek(mm) or 2^n
  8. 20 def fnrb(n)=peek(mm) and (255-2^n)
  9. 30 vv=53248 :rem vic-ii register 0
  10. 35 :rem >>> put bit map at 8192 <<<         (set bit 3 of vic register 24)
  11. 40 mm=vv+24 : poke mm,fnsb(3)
  12. 45 :rem >>> select bit map mode <<<         (set bit 5 of vic register 17)
  13. 50 mm=vv+17 : poke mm,fnsb(5)
  14. 60 base=8192 :rem start bit map memory
  15. 65 :rem >>> clear bit map <<<
  16. 70 for mm=base to base+7999
  17. 80 poke mm,0 : next mm
  18. 85 :rem >>> select colors c1 and c0 <<<
  19. 90 c1=1 : c0=0 : cc=16*c1 + c0
  20. 95 :rem >>fill screen memory with color
  21. 100 for mm=1024 to 2023:poke mm,cc:next
  22. 194 :
  23. 195 ::rem:: main program ::
  24. 196 :
  25. 200 for n=1 to 1000
  26. 210 x=rnd(0)*320 : y=rnd(0)*200
  27. 220 gosub 400 : next
  28. 250 for p=1 to 3000 : next
  29. 294 :
  30. 296 :
  31. 300 :rem >>> reset bit map mode <<<
  32. 310 mm=vv+17 : poke mm,fnrb(5)
  33. 320 :rem >>> restore screen memory base
  34. 330 mm=vv+24 : poke mm,fnrb(3)
  35. 390 end
  36. 395 :rem >>> turn on pixel at (x,y)
  37. 400 bit=7-(x and 7)
  38. 410 mm=base+320*int(y/8)+8*int(x/8)+(y and 7)
  39. 420 poke mm,fnsb(bit)
  40. 430 return
  41.